将函数声明为内联是提高程序运行时间的常用方式。内联说明符旨在提示实现:在调用点内联替换函数体优于通常的函数调用机制。

但是，实现可能会忽略这个提示。因此，内联唯一可以保证的是，允许函数定义在程序中出现多次(出现在需要多次包含的头文件中)。

与内联函数一样，函数模板可以在多个翻译单元中定义。可以通过将定义放在由多个CPP文件包含的头文件中来实现。

但这并不意味着函数模板默认使用内联替换，以及何时在调用点内联替换函数模板体是否优于通常的函数调用机制，这完全取决于编译器。也许，在评估内联调用是否会让性能提高方面，编译器会比人类做得更好。因此，关于内联的具体策略会因编译器而异，甚至取决于特定的编译选项。

然而，可以使用性能监视工具，让开发者比编译器拥有更多的信息，可能有希望重写编译器(例如，在针对特定平台(如手机或特定输入)调优软件时)。有时，这可能与编译器特定的属性有关，如noinline或always\_inline。

函数模板的全特化在这方面就像普通函数一样:定义只能出现一次，除非以内联方式定义(参见第16.3节)。有关本主题的更广泛、详细的概述，请参见附录A。

























